package com.doraemon.mapper;

import com.doraemon.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.Map;

/**
 * c端用户管理Mapper
 **/
@Mapper
public interface UserMapper {

    /***
     * 根据 openid 获取用户实体
     * ---
     * @param openid 微信用户唯一标识
     * @return: com.doraemon.entity.User 用户实体
     */
    @Select("select * from user where openid = #{openid}")
    User getByOpenid(String openid);

    /***
     * 根据 用户实体 插入用户
     * ---
     * @param user 用户实体
     * @return: void
     */
    void insert(User user);

    /***
     * 根据 用户id 查询用户
     * ---
     * @param userId 用户id
     * @return: com.doraemon.entity.User
     */
    @Select("select * from user where id = #{userId} ")
    User getById(Long userId);

    /***
     * 根据 动态条件 统计用户数量
     * ---
     * @param map 动态条件集合，存放起始时间、结束时间
     * @return: java.lang.Integer
     */
    Integer countByMap(Map map);

}
